package com.ruoyi.system.domain.xcx;

import com.alibaba.fastjson2.JSONArray;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 商品管理对象 douyin_goods
 *
 * @author ruoyi
 * @date 2023-09-30
 */
public class Goods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    private String goodId;

    /** 主图 */
    @Excel(name = "主图")
    private String picPath;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodTitle;

    /** 商品简介 */
    private String goodsBrief;

    /** 商品详情 */
    private String goodsDesc;

    /** 高级会员商品单价 */
    @Excel(name = "高级会员商品单价")
    private BigDecimal goodsPrice;

    /** 基础会员商品单价 */
    @Excel(name = "基础会员商品单价")
    private BigDecimal basicMemberPrice;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 最低下单量 */
    @Excel(name = "最低下单量")
    private Long minPurchaseNum;

    /** 限购数量 */
    @Excel(name = "限购数量")
    private Long purchaseNum;

    /** 倍数 */
    @Excel(name = "倍数")
    private Long multipleNum;

    /** 数量类型（1点赞数；2评论数；3分享数；4粉丝数） */
    @Excel(name = "数量类型", readConverterExp = "1=点赞数；2评论数；3分享数；4粉丝数")
    private String douyinNumType;

    /** 广告出价 */
    @Excel(name = "广告出价")
    private BigDecimal cpaBid;

    @Excel(name = "缓冲数量")
    private Long huanchongNum;

    /** 基础会员商品最终确定单价 */
    private BigDecimal basePrice;

    private String merchantId;

    private String merchantNickName;

    private String bidType;

    @Excel(name = "来源")
    private String source;

    @Excel(name = "品牌")
    private String cdpBrandName;

    @Excel(name = "停止方式", readConverterExp = "1=转化量；2消耗；3择优选择；4爬取数量")
    private String stopType;

    private String filterOwnAwemeFans;

    private String marketingGoal;

    private String gender;

    private JSONArray age;

    private String age2;

    private String autoExtendTargets;

    private String optimizeGoal;

    private String sort;

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    private  String openid;

    private String productConfiguration;

    private String checkStatus;
    private String checkReason;
    private String dataType;

    private  String aplReason;

    private  String goodNum;

    private  Integer firstPause;
    private  Integer secondPause;
    private  Integer thirdPause;

    /** 商品ID */
    private String goodSwitch;

    public void setGoodId(String goodId)
    {
        this.goodId = goodId;
    }

    public String getGoodId()
    {
        return goodId;
    }
    public void setPicPath(String picPath)
    {
        this.picPath = picPath;
    }

    public String getPicPath()
    {
        return picPath;
    }
    public void setGoodTitle(String goodTitle)
    {
        this.goodTitle = goodTitle;
    }

    public String getGoodTitle()
    {
        return goodTitle;
    }
    public void setGoodsBrief(String goodsBrief)
    {
        this.goodsBrief = goodsBrief;
    }

    public String getGoodsBrief()
    {
        return goodsBrief;
    }
    public void setGoodsDesc(String goodsDesc)
    {
        this.goodsDesc = goodsDesc;
    }

    public String getGoodsDesc()
    {
        return goodsDesc;
    }
    public void setGoodsPrice(BigDecimal goodsPrice)
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice()
    {
        return goodsPrice;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setMinPurchaseNum(Long minPurchaseNum)
    {
        this.minPurchaseNum = minPurchaseNum;
    }

    public Long getMinPurchaseNum()
    {
        return minPurchaseNum;
    }
    public void setPurchaseNum(Long purchaseNum)
    {
        this.purchaseNum = purchaseNum;
    }

    public Long getPurchaseNum()
    {
        return purchaseNum;
    }
    public void setMultipleNum(Long multipleNum)
    {
        this.multipleNum = multipleNum;
    }

    public Long getMultipleNum()
    {
        return multipleNum;
    }
    public void setDouyinNumType(String douyinNumType)
    {
        this.douyinNumType = douyinNumType;
    }

    public String getDouyinNumType()
    {
        return douyinNumType;
    }

    public BigDecimal getCpaBid() {
        return cpaBid;
    }

    public void setCpaBid(BigDecimal cpaBid) {
        this.cpaBid = cpaBid;
    }

    public Long getHuanchongNum() {
        return huanchongNum;
    }

    public void setHuanchongNum(Long huanchongNum) {
        this.huanchongNum = huanchongNum;
    }

    public String getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantNickName() {
        return merchantNickName;
    }

    public void setMerchantNickName(String merchantNickName) {
        this.merchantNickName = merchantNickName;
    }

    public String getBidType() {
        return bidType;
    }

    public void setBidType(String bidType) {
        this.bidType = bidType;
    }
    public BigDecimal getBasicMemberPrice() { return basicMemberPrice; }
    public void setBasicMemberPrice(BigDecimal basicMemberPrice) { this.basicMemberPrice = basicMemberPrice; }
    public BigDecimal getBasePrice() { return basePrice; }
    public void setBasePrice(BigDecimal basePrice) { this.basePrice = basePrice; }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getCdpBrandName() {
        return cdpBrandName;
    }

    public void setCdpBrandName(String cdpBrandName) {
        this.cdpBrandName = cdpBrandName;
    }

    public String getStopType() {
        return stopType;
    }

    public void setStopType(String stopType) {
        this.stopType = stopType;
    }

    public String getFilterOwnAwemeFans() {
        return filterOwnAwemeFans;
    }

    public void setFilterOwnAwemeFans(String filterOwnAwemeFans) {
        this.filterOwnAwemeFans = filterOwnAwemeFans;
    }

    public String getMarketingGoal() {
        return marketingGoal;
    }

    public void setMarketingGoal(String marketingGoal) {
        this.marketingGoal = marketingGoal;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public JSONArray getAge() {
        return age;
    }

    public void setAge(JSONArray age) {
        this.age = age;
    }

    public String getAge2() {
        return age2;
    }

    public void setAge2(String age2) {
        this.age2 = age2;
    }

    public String getAutoExtendTargets() {
        return autoExtendTargets;
    }

    public void setAutoExtendTargets(String autoExtendTargets) {
        this.autoExtendTargets = autoExtendTargets;
    }

    public String getOptimizeGoal() {
        return optimizeGoal;
    }
    public String getProductConfiguration() {
        return productConfiguration;
    }

    public void setProductConfiguration(String productConfiguration) {
        this.productConfiguration = productConfiguration;
    }
    public void setOptimizeGoal(String optimizeGoal) {
        this.optimizeGoal = optimizeGoal;
    }

    public String getSort() { return sort; }

    public void setSort(String sort) { this.sort = sort; }
    public String getCheckStatus() {
        return checkStatus;
    }

    public void setCheckStatus(String checkStatus) {
        this.checkStatus = checkStatus;
    }

    public String getCheckReason() {
        return checkReason;
    }

    public void setCheckReason(String checkReason) {
        this.checkReason = checkReason;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }
    public String getAplReason() {
        return aplReason;
    }

    public void setAplReason(String aplReason) {
        this.aplReason = aplReason;
    }
    public String getGoodNum() {
        return goodNum;
    }

    public void setGoodNum(String goodNum) {
        this.goodNum = goodNum;
    }
    public Integer getFirstPause() {
        return firstPause;
    }

    public void setFirstPause(Integer firstPause) {
        this.firstPause = firstPause;
    }

    public Integer getSecondPause() {
        return secondPause;
    }

    public void setSecondPause(Integer secondPause) {
        this.secondPause = secondPause;
    }

    public Integer getThirdPause() {
        return thirdPause;
    }

    public void setThirdPause(Integer thirdPause) {
        this.thirdPause = thirdPause;
    }
    public String getGoodSwitch() {
        return goodSwitch;
    }

    public void setGoodSwitch(String goodSwitch) {
        this.goodSwitch = goodSwitch;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("goodId", getGoodId())
            .append("picPath", getPicPath())
            .append("goodTitle", getGoodTitle())
            .append("goodsBrief", getGoodsBrief())
            .append("goodsDesc", getGoodsDesc())
            .append("goodsPrice", getGoodsPrice())
            .append("status", getStatus())
            .append("minPurchaseNum", getMinPurchaseNum())
            .append("purchaseNum", getPurchaseNum())
            .append("multipleNum", getMultipleNum())
            .append("douyinNumType", getDouyinNumType())
            .append("basicMemberPrice", getBasicMemberPrice())
            .append("basePrice", getBasePrice())
            .toString();
    }
}
